// 测试辅助工具 - 快速设置测试用户
import { setTestUser, clearTestUser, superAdminUser, adminUser, normalUser } from './testUserData.js';

// 在浏览器控制台中可用的全局函数
if (typeof window !== 'undefined') {
  // 设置超级管理员
  window.setSuperAdmin = () => {
    setTestUser('superadmin');
    console.log('✅ 已设置为超级管理员，拥有所有权限');
    console.log('用户信息:', superAdminUser);
  };
  
  // 设置管理员
  window.setAdmin = () => {
    setTestUser('admin');
    console.log('✅ 已设置为管理员');
    console.log('用户信息:', adminUser);
  };
  
  // 设置普通用户
  window.setUser = () => {
    setTestUser('user');
    console.log('✅ 已设置为普通用户');
    console.log('用户信息:', normalUser);
  };
  
  // 清除用户数据
  window.clearUser = () => {
    clearTestUser();
    console.log('✅ 已清除用户数据');
  };
  
  // 查看当前用户
  window.getCurrentUser = () => {
    const userInfo = localStorage.getItem('userInfo');
    const token = localStorage.getItem('token');
    console.log('当前用户信息:', userInfo ? JSON.parse(userInfo) : '未登录');
    console.log('当前Token:', token ? '已设置' : '未设置');
  };
  
  // 权限测试
  window.testPermissions = () => {
    const userInfo = localStorage.getItem('userInfo');
    if (!userInfo) {
      console.log('❌ 请先设置用户数据');
      return;
    }
    
    const user = JSON.parse(userInfo);
    console.log('🔍 权限测试结果:');
    console.log('用户角色:', user.roles);
    console.log('用户权限:', user.permissions);
    console.log('可访问的页面:');
    
    const accessiblePages = [];
    if (user.roles.includes('admin')) {
      accessiblePages.push('用户管理');
    }
    if (user.roles.includes('admin') || user.roles.includes('user')) {
      accessiblePages.push('问卷列表', '新增问卷', '讨论列表', '问卷编辑');
    }
    accessiblePages.push('数据总览', '用户资料');
    
    console.log(accessiblePages);
  };
  
  console.log('🚀 测试工具已加载，可用命令:');
  console.log('setSuperAdmin() - 设置为超级管理员');
  console.log('setAdmin() - 设置为管理员');
  console.log('setUser() - 设置为普通用户');
  console.log('clearUser() - 清除用户数据');
  console.log('getCurrentUser() - 查看当前用户');
  console.log('testPermissions() - 测试权限');
}

// 自动设置超级管理员（开发环境）
if (process.env.NODE_ENV === 'development') {
  // 检查是否已有用户数据，如果没有则自动设置
  const existingUser = localStorage.getItem('userInfo');
  if (!existingUser) {
    console.log('🔧 开发环境：自动设置测试用户');
    setTestUser('superadmin');
  }
}
